<!DOCTYPE html>
<html lang="en">

    <head>
        <meta charset="UTF-8" />
        <link rel="stylesheet" href="styles/style.css">
        <link rel="stylesheet" href="styles/theme/atom-one-dark.css">
        <title>例子33-JS进阶（二）</title>
    </head>

    <body>
        <pre>
            <code>
                    // 例子33

                    // 用普通的方式给person对象添加一个name属性，值为Tom
                    var person = {
                        name: 'Tom'
                    }

                    // 使用delete删除该属性
                    delete person.name;  // 返回true 表示删除成功

                    // 通过Object.defineProperty重新添加name属性
                    // 并设置name的属性类型的configurable为false，表示不能再用delete删除
                    Object.defineProperty(person, 'name', {
                        configurable: false,
                        value: 'Jerry'  // 设置name属性的值
                    })

                    // 再次delete，已经不能删除了
                    delete person.name   // false

                    console.log(person.name)    // 值为Jerry

                    // 试图改变value
                    person.name = "Jimmy";
                    console.log(person.name) // Jerry 改变失败
            </code>
        </pre>
        <script src="scripts/libs/highlight.pack.js"></script>
        <script src="scripts/33.js"></script>
        <script>
            hljs.initHighlightingOnLoad();
        </script>
    </body>

</html>